USE GD2C2013
GO

ALTER TABLE [vacuna_gdd].[Bono_consulta]
ALTER COLUMN [bc_fecha_impresion] datetime NULL

ALTER TABLE [vacuna_gdd].[Bono_farmacia]
ALTER COLUMN [bf_fecha_impresion] datetime NULL

ALTER TABLE [vacuna_gdd].[Bono_farmacia]
ALTER COLUMN [bf_fecha_vencimiento] datetime NULL

ALTER TABLE [vacuna_gdd].[Compra_bono]
ALTER COLUMN [cobo_fecha_compra] datetime NULL

DECLARE @afiliado numeric(18),@monto numeric(18)
DECLARE @pacienteDni numeric(18),@pmCodigo numeric(18),@pmPrecioConsulta numeric(18),@pmPrecioFarm numeric(18)
DECLARE @bonoConsultaNum numeric(18),@bonoFarmaciaNum numeric(18)
DECLARE @compraFecha date, @bonoConultaImpresion date, @bonoFarmaciaImpresion date,@bonoFarmaciaVencimiento date

DECLARE cursorMaestro CURSOR FOR
SELECT	Paciente_Dni,
		Plan_Med_Codigo,
		Plan_Med_Precio_Bono_Consulta,
		Plan_Med_Precio_Bono_Farmacia,
		Bono_Consulta_Numero,
		Bono_Farmacia_Numero,
		Compra_Bono_Fecha,
		Bono_Consulta_Fecha_Impresion,
		Bono_Farmacia_Fecha_Impresion,
		Bono_Farmacia_Fecha_Vencimiento
FROM [GD2C2013].[gd_esquema].[Maestra]
WHERE Compra_Bono_Fecha IS NOT NULL

OPEN cursorMaestro
FETCH NEXT FROM cursorMaestro
INTO @pacienteDni,@pmCodigo,@pmPrecioConsulta,@pmPrecioFarm,@bonoConsultaNum,@bonoFarmaciaNum,@compraFecha, @bonoConultaImpresion, @bonoFarmaciaImpresion,@bonoFarmaciaVencimiento

WHILE @@FETCH_STATUS = 0
BEGIN
	SELECT @afiliado=afil_id FROM [vacuna_gdd].[Afiliado] WHERE afil_dni_persona=@pacienteDni
	IF @bonoConsultaNum IS NOT NULL
	BEGIN
		-- tengo la compra de un bono consulta.
					
		INSERT INTO [vacuna_gdd].[Compra_bono](cobo_afiliado_id,cobo_monto,cobo_plan,cobo_fecha_compra)
		VALUES (@afiliado,@pmPrecioConsulta,@pmCodigo,@compraFecha)
		
		INSERT INTO [vacuna_gdd].[Bono_consulta](bc_id,bc_compra_id,bc_fecha_impresion,bc_consulta_num)
		VALUES (@bonoConsultaNum,@@IDENTITY,@bonoConultaImpresion,0)
	END
	ELSE
	IF @bonoFarmaciaNum IS NOT NULL
	BEGIN
		-- tengo la compra de un bono farmacia			
		INSERT INTO [vacuna_gdd].[Compra_bono](cobo_afiliado_id,cobo_monto,cobo_plan,cobo_fecha_compra)
		VALUES (@afiliado,@pmPrecioFarm,@pmCodigo,@compraFecha)
		
		INSERT INTO [vacuna_gdd].[Bono_farmacia](bf_id,bf_compra_id,bf_fecha_impresion,bf_fecha_vencimiento)
		VALUES (@bonoFarmaciaNum,@@IDENTITY,@bonoFarmaciaImpresion,@bonoFarmaciaVencimiento)
	END
		
	FETCH NEXT FROM cursorMaestro
	INTO @pacienteDni,@pmCodigo,@pmPrecioConsulta,@pmPrecioFarm,@bonoConsultaNum,@bonoFarmaciaNum,@compraFecha, @bonoConultaImpresion, @bonoFarmaciaImpresion,@bonoFarmaciaVencimiento
END
CLOSE cursorMaestro;
DEALLOCATE cursorMaestro;